const mapping = [
  { prop: 'layout', value: 'layout' },
  { prop: 'theme', value: 'layout.menu.theme' },
  { prop: 'topFirstLevelMenu', value: 'layout.sider.topFirstLevelMenu' },
  { prop: 'leftMenuWidth', value: 'layout.sider.leftMenuWidth' },
  { prop: 'topWidth', value: 'layout.top.width' }];

function getMappingProp(value) {
  for (let i = 0; i < mapping.length; i++) {
    if (mapping[i].value == value) {
      return mapping[i].prop;
    }
  }
  return null;
}

function getMappingValue(prop) {
  for (let i = 0; i < mapping.length; i++) {
    if (mapping[i].prop == prop) {
      return mapping[i].value;
    }
  }

  return null;
}

export function getCfgList(cfgObj) {
  if (cfgObj == null) return null;
  let cfgList = [];
  for (let prop in cfgObj) {
    cfgList.push({ key: getMappingValue(prop), value: cfgObj[prop] });
  }
  return cfgList;
}

export function getCfgObj(cfgList) {
  if (cfgList == null) return null;
  let obj = {};
  cfgList.forEach(item => {
    obj[getMappingProp(item.key)] = (item.value == 'true' || item.value == 'false' ? item.value === 'true' : item.value);
  });
  return obj;
}

export function getCfgValue(cfgList, key) {
  if (cfgList == null) return null;
  for (let i = 0; i < cfgList.length; i++) {
    if (cfgList[i].key == key) {
      return cfgList[i].value;
    }
  }
  return null;
}

